% FILE. . . . . /usr/bloom2/slang/hassan/papers/lasc/kluwer.sty
% EDIT BY . . . Hassan Ait-Kaci
% ON MACHINE. . Phoebus.Aca.Mcc.Com
% STARTED ON. . Fri May 27 16:49:22 1988
% 
% This is a LaTeX document style for articles to be published in the
% journal of Lisp and Symbolic Computation (LASC), published by Kluwer
% Academic Publishers. It was written by Hassan Ait-Kaci, at MCC in
% Austin, TX (hassan@mcc.com) following specifications and samples sent
% by LASC editor Jan Zubkoff. It is meant to make life easy to the
% authors by providing some high level commands necessary to declare such
% things as title, author name, etc., without worrying about how Kluwer
% wants LASC article to look. All that the authors have to do is prepare
% their manucript in LaTeX as follows.
% 
% The file must specify:
% 
% 	\documentsyle{kluwer}
% 
% NO ALTERATION OF PAGE LAYOUT MUST BE MADE. DO NOT SPECIFY ANY HEADINGS.
% Immediately following the
% 
% 	\begin{document}
% 
% line, use the following commands (those marked with a * are optional
% and may be omitted) followed by the command \preamble:
% 
% 	\title{...}		the title of the article
% (*)	\titlenote{...}		footnote for the title
% (*)	\runningtitle{...}	the running title if different from the title
% 	\author{...}		one author's name
% (*)	\thanks{...}		last author's thanks (for support, etc...)
% (*)	\email{...}		last author's electronic mail address
% (*)	\address{...}		last author's street address
% 				(the \thanks, \email, and \address commands
%				refer to the last specified \author)
% (*)	\received{...}		the date the first submission of article
%				was received by LASC editors
% (*)	\revised{...}		the date the revised submission of article
% 				was received by LASC editors
% (*)	\keywords{...}		key words and phrases dealt with in article
% (*)	\draft			marks the manuscript foot with ``Draft of ...''
%
% Following these commands the command:
% 
% 	\preamble
% 
% will put everything into place.  In addition to the name, title, etc.,
% if known to the authors the following can be defined before the
% \preamble command (more probably, these command are to be inserted by
% the editor upon final acceptance and when all details of the issue of
% LASC in which the article is to appear are finalized):
% 
% (*)	\startingpage{...}	the number of the first page (MUST BE ODD)
% (*)	\endingpage{...}	the number of the last page
% (*)	\volume{...}		the number of the LASC volume
% (*)	\pubyear{...}		the year of publication
% 
% The last one defaults to the current year.
% 
% After \preamble, give the abstract as follows:
% 
% 	\begin{abstract}
% 	...
% 	\end{abstract}
% 
% and start the text of your article using all regular LaTeX section and
% other commands. A proof environment has been added so that
% 
% 	\begin{proof}
% 	...
% 	\end{proof}
% 
% following theorems, lemmas, etc., will do the necessary thing.
% 
% If the article contains bibliographical references use:
% 
% 	\bibliographystyle{kluwer}
% 	\bibliography{<your-file-name>}
% 
% right before the \end{document} line at the end of your file. This is
% intended to be used in conjunction with BiBTeX using the particular
% bibliography style of Kluwer Pubs. A kluwer.bst file is supplied along
% with this kluwer.sty file for this purpose. Refer to the LaTeX
% manual for information on how to use BiBTeX. We provide the command
% \uml{...} equivalent to \"{...} (putting a dieresis on the argument)
% to use in a *.bib file to avoid problems of it being confused with the
% string quote " of BiBTeX.
% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 
% Here is an example of a preamble:
% 
% \documentstyle{kluwer}
% \begin{document}
% 
% \title{Integrating Logic and Functional Programming}
% \titlenote{This article is a revised and extended version of~\cite{lefun}.}
% 
% \author{Hassan Ait-Kaci}
% \email{hassan@mcc.com}
% \thanks{Supported by Mickey Mouse Grant Number 123-45-6789}
%
% \author{Roger Nasr}
% \email{nasr@mcc.com}
% \address{Microelectronics and Computer Technology Corporation \\
%          Austin, Texas 78759, U.S.A.}
% 
% \received{April, 1988}
% \revised{June, 1988}
% 
% \keywords{Logic Programming, Functional Programming, Equational Programming,
%           Symbolic Computation, Symbolic Deduction, Delayed Evaluation.}
% 
% \preamble
% 
% \begin{abstract}
% <... text of abstract ...>
% \end{abstract}
% 
% \section{Introduction}
% 
% <... rest of article ...>
% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%	        K L U W E R     L a T e X    M A C R O S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentstyle[11pt,twoside]{article}

\typeout{*******************************************}
\typeout{* Document Style `kluwer' --- 27 May 1988 *}
\typeout{*******************************************}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                             P A G E   S I Z E
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Kluwer page width must be 125 mm, text being centered
 
\textwidth 125 mm
\oddsidemargin 18 mm
\evensidemargin 18 mm
\headheight 18pt
\raggedbottom

\parindent 1em
\parskip 0.04in
\renewcommand{\baselinestretch}{0.9}
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%	          F R O N T   P A G E   P A R A M E T E R S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\startingpage#1{\gdef\@startingpage{#1}\count0=#1}
\def\endingpage#1{\gdef\@endingpage{#1}}
\def\volume#1{\gdef\@volume{#1}}
\def\pubyear#1{\gdef\@pubyear{#1}}
\def\draft{\gdef\@draft{\hfill\fbox{\footnotesize\sl Draft of \today}\hfill}}

\def\title#1{\gdef\@title{#1}\gdef\@runningtitle{\uppercase{#1}}}
\def\runningtitle#1{\gdef\@runningtitle{\uppercase{#1}}}
\def\titlenote#1{\gdef\@tnote{#1}}
\def\tn@te{\@ifundefined{@tnote}{\relax}{\signednote{\@tnote}}}

\def\received#1{\gdef\@received{#1}}
\def\revised#1{\gdef\@revised{#1}}
\def\keywords#1{\gdef\@keywords{#1}}

\newcount\@temp
\newcount\@authorcount
\@authorcount=0

\def\author#1{\advance\@authorcount by 1
              \@namedef{@author\the\@authorcount}{\uppercase{#1}}}
\def\thanks#1{\@namedef{@thanks\the\@authorcount}{#1}}
\def\email#1{\@namedef{@email\the\@authorcount}{#1}}
\def\address#1{\@namedef{@address\the\@authorcount}{#1}}

\newbox\@authorbox
\def\@authors{\unhcopy\@authorbox}
\def\c@mma{\ifvoid\@authorbox\relax\else, \fi}

\def\doauthors
{\@temp=0 
 \@whilenum\@temp<\@authorcount
 \do{\advance \@temp by 1
     \def\@author{\@nameuse{@author\the\@temp}}
     \global\setbox\@authorbox=\hbox{\@authors\c@mma \@author}
      \doauthorline{\@author}
                   {\@ifundefined{@thanks\the\@temp}{\relax}
                                 {\signednote{\@nameuse{@thanks\the\@temp}}}}
                   {\@ifundefined{@email\the\@temp}{\relax}
                                 {({\normalsize\sl
                                    \@nameuse{@email\the\@temp}}\/)}}
     \@ifundefined{@address\the\@temp}{\relax}
                  {\doaddress{\@nameuse{@address\the\@temp}}}}}

\def\doauthorline#1#2#3{\hbox to \hsize{#1#2\hfill #3}}
\def\doaddress#1{\par\vskip 0.01in {\it #1} \vskip 0.07in}

\def\signednote{\xdef\@thefnmark{\@signmark}\@@signmark\@footnotetext}
\newcount\signcount
\signcount=0
\@namedef{@sign0}{*}
\@namedef{@sign1}{\dag}
\@namedef{@sign2}{\ddag}
\@namedef{@sign3}{\sharp}
\@namedef{@sign4}{\natural}
\@namedef{@sign5}{\flat}
\@namedef{@sign6}{\S}

\def\@signmark{\ifnum\signcount>6 \global\signcount=0
               \typeout{WARNING: Too many signed notes!}
               \relax
               \else\@nameuse{@sign\the\signcount}
                    \global\advance\signcount by 1 \fi}

\def\@@signmark{$^{\@nameuse{@sign\the\signcount}}$}

\def\preamble{\vbox{\vskip0.35in}\pagestyle{names@title}\thispagestyle{lasc}
{\parindent 0pt{\LARGE \@title}\tn@te\vskip 0.5in
 \footnotesize\doauthors\vskip 0.03in 
 \@ifundefined{@received}{\relax}{(Received: \@received)\vskip 0.01in}
 \@ifundefined{@revised}{\relax}{(Revised: \@revised)\vskip 0.1in}
 {\parindent -53pt\leftskip 53pt{\bf Keywords:} \@keywords

}}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                        H E A D S   A N D   F O O T S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\@volume{?}
\def\@startingpage{??}
\def\@endingpage{??}
\def\@pubyear{\the\year}

\def\@lasc{LISP AND SYMBOLIC COMPUTATION: An International Journal 
          \@volume: \@startingpage--\/\@endingpage, \@pubyear}
\def\@kluwer{\copyright~\@pubyear~Kluwer Academic Publishers, Boston
             -- Manufactured in The Netherlands}

\def\lascmark{\footnotesize\vbox{\rightline{\@lasc}\rightline{\@kluwer}}}
\def\ps@lasc{\def\@oddhead{\lascmark}}
\def\ps@names@title{\def\@oddhead{\footnotesize\@runningtitle\hfil\thepage}
    \def\@evenhead{\footnotesize\thepage\hfil\@authors}}

\def\@oddfoot{\@draft}
\def\@evenfoot{\@draft}
\def\@draft{}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                               S E C T I O N S
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\section{\@startsection
{section}{1}{\z@}{0.2in}{0.12in}{\large\bf}}
\def\subsection{\@startsection
{subsection}{2}{\z@}{0.13in}{0.09in}{\normalsize\bf}}
\def\subsubsection{\@startsection
{subsubsection}{3}{\z@}{0.08in}{0.05in}{\normalsize\it}}
\def\paragraph{\@startsection
{paragraph}{4}{\z@}{0.05in}{2\baselineskip}{\normalsize\it}}
\def\subparagraph{\@startsection
{subparagraph}{4}{\parindent}{2\baselineskip}{-1em}{\normalsize\it}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                               A B S T R A C T
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Change the abstract to have the word Abstract in \footnotesize\bf
% and followed by a period.

\def\abparagraph{\@startsection{paragraph}{4}{\z@}{3.25ex
plus 1ex minus .2ex}{-1em}{\footnotesize\bf}}

\def\abstract{\abparagraph{Abstract.}\footnotesize}
\def\endabstract{\vskip 0.1in\normalsize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                               MISCELLANY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Theorems etc...
\newtheorem{theorem}{Theorem}
\newtheorem{proposition}{Proposition}
\newtheorem{lemma}{Lemma}
\newtheorem{definition}{Definition}
\newtheorem{corollary}{Corollary}

% Definition of the proof-environment:
\def\qed{\vrule height6pt width4pt depth2pt}
\newenvironment{proof}{\quote\small{\bf Proof:\ }}{\qed\endquote}

% Define umlaut command \uml as alias of \" to work in *.bib file
\def\uml#1{\"#1}

% Define bibliography with labels of the form ``n.'' rather than ``[n]''
\def\thebibliography#1{\section*{References}\list
 {\arabic{enumi}.}{\settowidth\labelwidth{#1.}\leftmargin\labelwidth
 \advance\leftmargin\labelsep
 \usecounter{enumi}}
 \def\newblock{\hskip .11em plus .33em minus -.07em}
 \sloppy
 \sfcode`\.=1000\relax}
\let\endthebibliography=\endlist

% Change the line spacing in the verbatim environment from default
% 13.6pt to 12pt
\def\verbatim
{\@verbatim \baselineskip 12pt \frenchspacing\@vobeyspaces \@xverbatim}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
